A demand for nonvolatile storage devices including rewritable nonvolatile memories, mainly semiconductor memory cards, is increasing. The semiconductor memory cards are expensive compared to the optical discs, tape media, and the like. However, since the semiconductor memory cards have significant merits such as, smallness, lightness, quake resistance, convenience in handling, and the like, the demand as recording media for portable devices such as digital still cameras, mobile phones, and the like has been rising. Recently, they are also used as recording media for consumer video recording device, and professional video recording device for broadcasting stations. Further, not only portable devices but also stationary appliances such as digital televisions, DVD recorders and the like are equipped with slots for the semiconductor memory cards as standard, recently, and the demand for the semiconductor memory cards is further growing.
A semiconductor memory card includes a flash memory (mainly of a NAND type) as a nonvolatile main storage memory, and also has a memory controller for controlling the memory. The memory controller performs data read/write control for the flash memory in response to a data read/write instruction from an access device, typically, a main body of a digital still camera, or the like.
An access device manages storage regions of the semiconductor memory cards with a file system such as a FAT file system or the like. With the file system, the semiconductor memory cards store directory entries, FAT and the like which are management information of the file system in addition to file data themselves such as AV contents.
In case of an access device storing content files of a large capacity, such as high definition videos, to a semiconductor memory card in real time, it is desirable to activate data of as latest as possible when an unexpected event such as power supply disconnection occurs. Usually, written file data is recognized as valid data in the file system after the directory entry and FAT are appropriately updated. Thus, it is general for an access device to record data on a semiconductor memory card by repeating a procedure of preferentially writing file data of a certain amount into the semiconductor memory card and then updating a directory entry and FAT.
When an access device is recording high vision videos with a high video bit rate on a semiconductor memory card, it updates a directory entry and FAT in a rate of once in few seconds, for example. In such a case, recording size of the file data is relatively large, i.e., about few megabytes (MB). However, with respect to the directory entry and FAT, only the portion of which information is updated is written to the semiconductor memory card, and thus, the recording size thereof is relatively small, i.e., about 512 bytes to 32 kilobytes (KB).
Before recording new data, data on a flash memory has to be erased. The unit of erasing is about few hundred KB to few MB, currently. However, there is tendency of increasing. When data of a small size is written into a flash memory, valid data existing in the same physical block is copied to another physical block. This is called a “saving process”. Thus, the flash memory has a problem that recording speed decreases when data is written in the unit smaller than the erasing unit, and, particularly, the recording speed decreases significantly when the management information of the file system such as the directory entry and FAT is being written.
Conventionally, in order to solve such a problem, a method of incorporating page cache into a semiconductor memory card has been proposed (see, for example, Patent Literature 1).
In such a method (conventional technique), a writing process to a specific logical address for data of a small size (management information) is performed with respect to a physical block for temporarily holding data (physical block for page cache (cache block)) and managed in order to prevent a useless saving process from occurring and to increase the speed of the writing process.